#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>

#define DEBUG
class UnitVector
{
public:
	typedef struct
	{
		unsigned char   	Id[6]; 		//MAC地址(ID号)
		struct sockaddr_in	ClientAddr;	//外网IP和端口
		unsigned char		stats;		//当前状态
		unsigned char		LID[6];		//正在通信的ID
	}Node;

private:
    bool Busy;						//临界区变量
    void EnterArea(void);
    void ExitArea(void);
	int  SerchNode(unsigned char *pId);
#ifdef	DEBUG
	void PrintfNode(Node *idx);
#endif
public:
	UnitVector(void);
	~UnitVector(void);
    int  Add(Node node);								//添加节点
    int  GetPeerNum(void);								//得到总节点数
    bool GetPeerInfo(unsigned char *pId,Node *NTken);	//得到指定的节点
    bool DelNode(Node * NodInfo);						//删除指定的节点
    bool GetPeerList(int idx,Node *Ntken);
};




